using System;
using System.Collections.Generic;
using System.Text;

namespace SubSonic.Remoting
{
    [AttributeUsage(AttributeTargets.Class)]
    public class RemoteDataControllerAttribute : System.Attribute
    {
        public RemoteDataControllerAttribute()
            : base()
        {
        }
    }

    [AttributeUsage(AttributeTargets.Method)]
    public class RemoteClientRegistrationMethodAttribute : System.Attribute
    {
        public RemoteClientRegistrationMethodAttribute()
            : base()
        {
        }
    }

    [AttributeUsage(AttributeTargets.Method)]
    public class RemoteServerRegistrationMethodAttribute : System.Attribute
    {
        private System.Runtime.Remoting.WellKnownObjectMode _callingMode = System.Runtime.Remoting.WellKnownObjectMode.SingleCall;
        public System.Runtime.Remoting.WellKnownObjectMode CallingMode
        {
            get { return this._callingMode; }
            set
            {
                this._callingMode = value;
            }
        }

        public RemoteServerRegistrationMethodAttribute()
            : base()
        {
        }

        public RemoteServerRegistrationMethodAttribute(System.Runtime.Remoting.WellKnownObjectMode callingMode)
            : this()
        {
            this._callingMode = callingMode;
        }

    }
    
}
